package com.ocean.metadata.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ocean.common.annotation.Excel;
import com.ocean.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.poi.hpsf.Decimal;

/**
 * 元数据要素对象 o_metadata_element
 *
 * @author ocean
 * @date 2023-01-29
 */
public class OMetadataElement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 创建人名称 */
    @Excel(name = "创建人名称")
    private String createName;

    /** 创建日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 更新人名称 */
    @Excel(name = "更新人名称")
    private String updateName;

    /** 更新日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    /** 元数据id */
    @Excel(name = "元数据id")
    private String metadataId;

    /** 要素中文名 */
    @Excel(name = "要素中文名")
    private String elementZh;

    /** 要素英文名 */
    @Excel(name = "要素英文名")
    private String elementEn;

    /** 要素范围 */
    @Excel(name = "要素范围")
    private String elementRange;

    /** 跨度 */
    @Excel(name = "跨度")
    private Double span;

    /** 最大值 */
    @Excel(name = "最大值")
    private Double maxValue;

    /** 最小值 */
    @Excel(name = "最小值")
    private Double minValue;

    /** 值数 */
    @Excel(name = "值数")
    private Integer valueCount;

    /** 组织机构id */
    @Excel(name = "组织机构id")
    private String departId;

    /** 是否输出要素 */
    @Excel(name = "是否输出要素")
    private String isOutParameter;

    /** 填充值 */
    @Excel(name = "填充值")
    private String fillValue;

    /** 真实值 */
    @Excel(name = "真实值")
    private String realValue;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setCreateName(String createName)
    {
        this.createName = createName;
    }

    public String getCreateName()
    {
        return createName;
    }
    public void setCreateDate(Date createDate)
    {
        this.createDate = createDate;
    }

    public Date getCreateDate()
    {
        return createDate;
    }
    public void setUpdateName(String updateName)
    {
        this.updateName = updateName;
    }

    public String getUpdateName()
    {
        return updateName;
    }
    public void setUpdateDate(Date updateDate)
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate()
    {
        return updateDate;
    }
    public void setMetadataId(String metadataId)
    {
        this.metadataId = metadataId;
    }

    public String getMetadataId()
    {
        return metadataId;
    }
    public void setElementZh(String elementZh)
    {
        this.elementZh = elementZh;
    }

    public String getElementZh()
    {
        return elementZh;
    }
    public void setElementEn(String elementEn)
    {
        this.elementEn = elementEn;
    }

    public String getElementEn()
    {
        return elementEn;
    }
    public void setElementRange(String elementRange)
    {
        this.elementRange = elementRange;
    }

    public String getElementRange()
    {
        return elementRange;
    }
    public void setSpan(Double span)
    {
        this.span = span;
    }

    public Double getSpan()
    {
        return span;
    }
    public void setMaxValue(Double maxValue)
    {
        this.maxValue = maxValue;
    }

    public Double getMaxValue()
    {
        return maxValue;
    }
    public void setMinValue(Double minValue)
    {
        this.minValue = minValue;
    }

    public Double getMinValue()
    {
        return minValue;
    }
    public void setValueCount(Integer valueCount)
    {
        this.valueCount = valueCount;
    }

    public Integer getValueCount()
    {
        return valueCount;
    }
    public void setDepartId(String departId)
    {
        this.departId = departId;
    }

    public String getDepartId()
    {
        return departId;
    }
    public void setIsOutParameter(String isOutParameter)
    {
        this.isOutParameter = isOutParameter;
    }

    public String getIsOutParameter()
    {
        return isOutParameter;
    }
    public void setFillValue(String fillValue)
    {
        this.fillValue = fillValue;
    }

    public String getFillValue()
    {
        return fillValue;
    }
    public void setRealValue(String realValue)
    {
        this.realValue = realValue;
    }

    public String getRealValue()
    {
        return realValue;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createName", getCreateName())
            .append("createBy", getCreateBy())
            .append("createDate", getCreateDate())
            .append("updateName", getUpdateName())
            .append("updateBy", getUpdateBy())
            .append("updateDate", getUpdateDate())
            .append("metadataId", getMetadataId())
            .append("elementZh", getElementZh())
            .append("elementEn", getElementEn())
            .append("elementRange", getElementRange())
            .append("span", getSpan())
            .append("maxValue", getMaxValue())
            .append("minValue", getMinValue())
            .append("valueCount", getValueCount())
            .append("departId", getDepartId())
            .append("isOutParameter", getIsOutParameter())
            .append("fillValue", getFillValue())
            .append("realValue", getRealValue())
            .toString();
    }
}
